#include<iostream>
#include<cstring>

using namespace std;

const int N=110;
int n,t,stx,sty,endx,endy;
char mp[N][N];
int dx[4]={0,0,-1,1};
int dy[4]={-1,1,0,0};
bool st[N][N];

bool dfs(int x,int y)
{
	if(x==endx && y==endy) return true;
	st[x][y]=1;
	for(int i=0;i<4;i++)
	{
		int xx=x+dx[i];
		int yy=y+dy[i];
		if(xx>=0 && xx<n && yy>=0 && yy<n && mp[xx][yy]!='#')
		{
		    if(st[xx][yy]==1) continue;
		    st[xx][yy]=1;
			if(dfs(xx,yy)) return true;
 			 //st[xx][yy]=0;
 			// else return false;
		}
	}
	return false;
}

int main()
{
	cin>>t;
	while(t--)
	{
	    memset(st,0,sizeof st);
		cin>>n;
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				cin>>mp[i][j];
			}
		}
		cin>>stx>>sty>>endx>>endy;
		if(mp[stx][sty]=='#' || mp[endx][endy]=='#')
		{
			puts("NO");
			continue;
		}
		if(dfs(stx,sty)) puts("YES");
		else puts("NO");
	}
	return 0;
}
